home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -serious- / misc / catmanged / scripts / copyorig.ged < prev    next >
Text File  |  1999-09-06  |  3KB  |  101 lines

  1. /* 
  2. ** $VER: CopyOrig 1.0 (30.08.99)
  3. ** 
  4. ** Script author: Damir Arh
  5. **
  6. ** (C)1999 Digital Amiga Dream
  7. **
  8. **
  9. ** FUNCTION:
  10. **    ARexx-script for GoldEd.
  11. **    Copies original strings from CD to CT
  12. **
  13. ** USAGE:
  14. **    CopyOrig
  15. **
  16. ** $HISTORY:
  17. **
  18. ** 07.04.99 : 1.0 : First release
  19. */
  20.  
  21. OPTIONS RESULTS                             /* enable return codes     */
  22.  
  23. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  24.     address 'GOLDED.1'
  25.  
  26. 'LOCK CURRENT RELEASE=4'                    /* lock GUI, gain access   */
  27.  
  28. if (RC ~= 0) then
  29.     exit
  30.  
  31. OPTIONS FAILAT 6                            /* ignore warnings         */
  32.  
  33. SIGNAL ON SYNTAX                            /* ensure clean exit       */
  34.  
  35. /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
  36.  
  37. 'WINDOW NEXT'
  38. 'FIRST'
  39. 'WINDOW PREV'
  40.  
  41. 'FIRST'         /* find first string name - skip headers and comments) */
  42. do until ((CurrChar~=c2d('#')) & (CurrChar~=c2d(';')))
  43.     'FIND STRING="(" NEXT QUIET'              /* find next string name */
  44.     'FIRST'
  45.     'QUERY CODE VAR=CurrChar'
  46. end
  47.  
  48. 'QUERY LINES VAR=NumLines'
  49. do until (NumLines < CurrLine+2) 
  50.     'QUERY WORD VAR=CurrStringName'                   /* get string name */
  51.     'DOWN'
  52.     'MARK SET BEGIN'                                  /* block beginning */
  53.     do until (CurrChar = c2d(';'))                     /* find block end */
  54.         'DOWN'
  55.         'LEFT'
  56.         'FIND STRING=";" NEXT QUIET'
  57.         'FIRST'
  58.         'QUERY CODE VAR=CurrChar'
  59.     end
  60.     'MARK SET END'
  61.     'CLIP COPY'                               /* copy block to clipboard */
  62.     'WINDOW NEXT QUIET'                                 /* toggle window */
  63.     'FIND STRING="' || CurrStringName || '" NEXT QUIET'
  64.     do until (CurrChar = c2d(';'))    /* find end of the matching string */
  65.         'DOWN'
  66.         'LEFT'
  67.         'FIND STRING=";" NEXT QUIET'
  68.         'FIRST'
  69.         'QUERY CODE VAR=CurrChar'
  70.     end
  71.     'CLIP PASTE'                                /* paste original string */
  72.     do until (CurrChar = c2d(';'))        /* comment the original string */
  73.         'TEXT T=";"'
  74.         'DOWN'
  75.         'FIRST'
  76.         'QUERY CODE VAR=CurrChar'
  77.     end
  78.     'DELETE LINE'
  79.     'WINDOW PREV QUIET'                            /* switch window back */
  80.     do until ((CurrChar~=c2d('#')) & (CurrChar~=c2d(';')))
  81.         'FIND STRING="(" NEXT QUIET'              /* find next string name */
  82.         'FIRST'
  83.         'QUERY CODE VAR=CurrChar'
  84.     end
  85.     'QUERY LINE VAR=CurrLine'
  86. end
  87.  
  88. /* ---------------------------- END OF YOUR CODE --------------------- */
  89.  
  90. 'UNLOCK' /* VERY important: unlock GUI */
  91.  
  92. exit
  93.  
  94. SYNTAX:
  95.  
  96. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  97.  
  98. 'UNLOCK'
  99.  
  100. exit
  101.